public static Cut CreateAspectInstance(this Cut cut, AspectDefinition aspect) { cut = cut.Call(aspect.GetFactoryMethod(), arg => aspect.Factory != null ? arg.TypeOf(aspect.Host) : arg); if (aspect.Factory != null) { cut = cut.Cast(StandardTypes.Object, aspect.Host); } return(cut); }