split tinympl into fine-grained headers