Improve type safety + microoptimize