This is a question mainly for Lucas. Probably we've been over this before, but I don't remember well.
1. What is included in these two things separately? It seems to me the BasicXXXFun's only define getters, setters, and pretty print. I.e. they are dumb data structures.
2. Why are they needed?