weak definitions overrule non-weak prototypes