support for custom slice types