Shouldn’t the check for preexisting alias_method_chain’d methods be performed by alias_method_chain itself? That would prevent infinite recursions in case the same alias_method_chain call is evaluated more than once (double require’s or load’s).