Might_have and have_one implementation