This document describes a BankersQueue data structure for Haskell. It consists of a front list, rear list, and lengths. Functions like head, tail, and snoc are provided to access or modify the queue in constant time by rotating or appending the two lists. The snoc function adds an element to the rear by potentially rotating to balance the lengths, maintaining the queue's structure.