adopting hlint's suggestions.
comment.
removing unnecessary func.
better naming and layout.
exporting decodeFrame.
adding fixme.
adding a new function.
using Array not IArray.

I guess that we don't have to general one.
ignoring unknown settings.
eliminating fail.
coding style.
clarifying error handling
layout only
better error handling.
adding Encode.hs
exporting functions.
using builder to keep the settings ordering.
Using Array for Settings.