public static void Set <TInstance, TProperty>(this TInstance instance, string propertyName, TProperty propertyValue)
 {
     FastPropertyRepository <TInstance, TProperty> .GetSetter(propertyName)(instance, propertyValue);
 }
    // Goodies: add name inference from property lambda expression
    // e.g. "instance => instance.PropertyName" redirected using "PropertyName"

    public static TProperty Get <TInstance, TProperty>(this TInstance instance, string propertyName)
    {
        return(FastPropertyRepository <TInstance, TProperty> .GetGetter(propertyName)(instance));
    }