Normally you want to specify something special with the type. Added placeholder for that.
Added operational conterparts for leaf, list and container. To start with.