preprocess cons, fix problems
make _(begin_, end_) return _, fix #389
Revert "make _(begin_, end_) return _, fix #389"

This reverts commit 71e9a27c82b21a8357000d37689b58600def5c0b.
Fixed duplicate header guards
Merging master in issue_153