explicitly require ostruct