That's the key here. Variables/abstractions are grasped at the "formal operational" stage of cognitive development. A functional language with concrete elements( e.g table cells ) side steps this requirement. Reduce USEFUL APIs to concrete constructs and it'll be accessible to a lower common denominator.