This doesn't check at runtime. This will be bad.