Shared types
Merge branch 'refining'

Conflicts:
	element.go
	element_test.go
	node.go
	node_test.go
	parser.go
	parser_test.go