Sorry to interrupt here, but this is wrong. it is not enforced to use types for anything (arguments, return values or properties) if you don't want to. Using it is completely optional.
Edit: Ah I believe there is a misunerstanding between posters here. The usage of types is not enforced, but when you use them their correctness is enforced at runtime.