I'm seeing more strictness than I'd expect for printf:
> printf "foo %s\n" (show ([1..10] ++ undefined))
foo *** Exception: Prelude.undefined
In contrast,
*Utils.Fabprim.ToHaskell> "foo " ++ show ([1..10] ++ undefined) ++ "\n"
"foo [1,2,3,4,5,6,7,8,9,10*** Exception: Prelude.undefined
Known issue?
-- Conal