pub trait Builder<F: Func> { type Result; // Required method fn build(self, f: &mut F, k: F::Block) -> Result<(Self::Result, F::Block)>; }