private static Op <SystemEntityMono> RawToMono(SystemEntity systemEntity) { var type = systemEntity.GetType(); if (_matchedFactories.ContainsKey(type)) { return(Op <SystemEntityMono> .Correct(_matchedFactories[type].Invoke(systemEntity))); } return(Op <SystemEntityMono> .Error($"No mono factory for {type.Name}")); }