     [ bytes>> t ] [ bytes-read>> pad-last-block ] [ ] tri
     [ checksum-block ] curry each ; inline
 
-PRIVATE>
-
 M: sha-224-state get-checksum
     clone
     [ pad-last-short-block ] [ sha-224>checksum ] bi ;

    } 2cleave set-nth-unsafe ; inline

: prepare-M-512 ( n seq -- )
    {
        [ [ 16 - ] dip nth-unsafe ]
        [ [ 15 - ] dip nth-unsafe s0-512 ]

    e H nth-unsafe S1-512 w+
    h H nth-unsafe w+ ; inline

:: T2-512 ( H -- T2 )
    a H nth-unsafe S0-512
    a H slice3 maj w+ ; inline

:: update-H ( T1 T2 H -- )
    h g H exchange-unsafe
    g f H exchange-unsafe
    f e H exchange-unsafe
    T1 d H nth-unsafe w+ e H set-nth-unsafe
    d c H exchange-unsafe
    c b H exchange-unsafe
    b a H exchange-unsafe
    T1 T2 w+ a H set-nth-unsafe ; inline

: prepare-message-schedule ( seq sha2 -- w-seq )
    [ word-size>> <groups> [ be> ] map ]
