I'm then curious whether the compiler actually does that. There must be some reason that the original code had the return type and check-type for the default.