You may ignore 'weak' as I intend to deprecate it sooner or later.