flatten if
introduce Pork::Inspect
context api should be private and expect api should work