The string builtin was incorrectly described, and StringLiteral.canBePassedAs was checking the type actual instead of the type points in the case of a reducible type.