Motivation
when used as a lib, there are too many internal data types exposed, which should be less.
Examples: FunDef FunCall EveryExpr ... etc. these are not meaningful to be exposed via the "main" package,
because this means developers using the lib getting autocompletion like feel.EveryExpr ... which is meaningless to them and should not be exposed