rewrite smartmatch
Revert "smartmatch is experimental"

This reverts commit 49dbe542634d6e2ff668acb32f5aa9cd1011fbbc.
Merge pull request #12 from hitode909/delete-smartmatch

Delete smartmatch