instance (Show a, VarArgsFake r) => VarArgsFake (a -> r) where
varFake _ _ = varFake []
+-- note: with -O2 GHC is able to completely optimize away such a `printfFake' call
printfFake :: String -> (VarArgsFake t) => t
printfFake _ = varFake []
-> depends on: exceptions, jni (?)
-> estimated effort: unknown
+(m) hoopl
+ -> for "frontEnd analysis"
+ -> transition to MIR (Mate IR)?
+
+(h) switch statement (basically lookupswitch insn)
+
(m) testing: hunit? quickcheck? other?
-> we have `make tests' now, but it should be only considered as
high-level test. we need something
(l) get rid of missingh
-> huge dependency and we just need one function of it
+(l) get more details what takes time
+ -> use Data.Time.Clock
+ -> seperate analysis, jit, execution, ...
+ -> maybe use ghc profiling? (it doesn't measure native execution, but well)
+
(l) ... low priority
(m) ... medium priority