Perhaps the "d" should be included in the suffix set. Let's 
  see whether it can be prededed by suffixy letters:
  
    cat bio-f-eva-gut.wds \
      | sed \
          -e 's/^/ /' \
          -e 's/\(.d\)/ \1 /g' \
      | tr ' ' '\012' \
      | egrep -e 'd' \
      | sort | uniq -c | expand | sort +0 -1nr \
      > .foo

  Result:
  
     1733 ed
      507 d
      145 hd
       73 ld
       27 od
       13 yd
        7 ad

  Let's look at the '[loya]d' words:
  
    foreach f ( l o y a )
      echo '=== '$f
      cat bio-f-eva-gut.dic \
        | egrep -e "$f"'d'
    end

    al.al.dy al.dy che.ol.dy ch.l.d.aiin d.air.ol.dy d.al.dy
    d.ol.dy k.al.dy k.ol.dy l.d l.d.aiin l.d.al ld.al.or l.d.ar
    ld.chey ld.dy l.d.ol l.dy l.ke.ol.dy l.l.d.ar l.ol.dy ok.al.dy
    okee.dy.l.dy ok.ol.dy ol.d ol.d.a ol.d.air ol.d.y ol.k.ol.d.y ot.al.d.y ote.ol.d.y
    otoldy p.ol.d.ak.y p.ol.d.she.dy pshe.al.dy pshe.ol.dy qokaldy qokoldy
    qok.y.l.d.d.y q.ol.d.y qot.al.d.y rche.al.d shed.al.d.y sheol.d.y sh.l.d.y sh.ol.d.y s.ol.d.y
    t.ol.d.al yshe.al.d.y

    chckh.od.y che.od.y d.ar.od.y lk.od.al l.od od.aiin od.al od.ar odched.y oddche.y
    od.y ot.ar.od.l otee.od.y p.ar.od.y qod.aiin qod.ar qod.che.d qod.ee.d.y qodee.y
    qod.y qod.yke.y sh.od.y s.od.ar

    chckh.yd che.d.che.yd.aiin d.air.yd.y dsh.ol.yd olt.yd.y qok.yd.y yd.aiin yd.air.ol
    yd.ar.al yd.ar.she.y yd.y

    ch.ad.y d.ar.ad.y ok.ad.y ot.ad.y qok.ad.y t.ad.y

  so it seems that -od -ad -ld -yd are letters, as well as qod

  Let's look again at suffixes, ab initio:
  
    cat bio-f-eva-gut.wds \
      | sed \
          -e 's/\([[oaydirslmn]*\)$/- -\1/' \
      | egrep -e '- -' \
      | gawk '/./ {print $2}' \
      | sort | uniq -c | expand | sort +0 -1nr \
      > .foo
      
  It seems that the following is the "suffix alphabet":
  
    -[aoydlsm] -i*n -i*r