use context-bounds syntactical sugar