marks always have a type.
Merge pull request #86 from lxyu/master

marks always have a type