anchor.diff:                          prefixLen=newPrefixLen
                           }
                           
  -                maybeWriteLeaf {st with blk=blkAfterValue} |> addPairToLeaf
  +                st
   
               // this is the body of writeLeaves
               //let source = seq { csr.First(); while csr.IsValid() do yield (csr.Key(), csr.Value()); csr.Next(); done }
  
positive.code: 
                  // TODO is it possible for this to conclude that the key must be overflowed
                  // when it would actually fit because of prefixing?
  
                  let neededForOverflowPageNumber = sizeof<int32>
  
                  // TODO can the overflow page number become a varint?
  
                  // the max limit of an inline key is when that key is the only
                  // one in the leaf, and its value is overflowed.
  
                  let maxKeyInline = 
                      pageSize 
                      - LEAF_PAGE_OVERHEAD 
                      - 1 // prefixLen
                      - 1 // key flags
                      - Varint.SpaceNeededFor(int64 pageSize) // approx worst case inline key len
                      - 1 // value flags
                      - 9 // worst case varint value len
                      - neededForOverflowPageNumber // overflowed value page
  
                  let blkAfterKey,kloc = 
                      if k.Length <= maxKeyInline then
  
negative.code:                     else
                          st
  
                  let st =
                      // TODO ignore prefixLen for overflowed keys?
                      let newPrefixLen = 
                          if List.isEmpty st.keys then
  