Rework class hierarchy in intrisic.py

So that function intrinsic can also have a combiner.
PEP8 compliancy