public IReflectedGen <T> OverrideMember <TMember>(Expression <Func <T, TMember> > memberSelector, IGen <TMember> fieldGen) { var pathResult = PathResolver.FromExpression(memberSelector); return(pathResult.Match <string, string, IReflectedGen <T> >( fromLeft: path => new ReflectedGen <T>( _registeredGensByType, _memberOverrides.Add(new ReflectedGenMemberOverride(path, fieldGen)), _errorExpression), fromRight: error => new ReflectedGen <T>( _registeredGensByType, _memberOverrides, error))); }