actually do lazy correctly
add a mop::defined in there so that we can check if an attribute has been created without actually causing a lazy-builder to fire.