Soak beans overnight in plenty of water, then drain and rinse (or quick-soak per package).
Add beans, ham bone or diced ham, onion, carrots, celery, garlic, bay leaf, thyme, pepper, and broth to a 5–6 quart slow cooker. Liquid should cover beans by 1 inch.
Cook on LOW 8–10 hours (or HIGH 4–5) until beans are tender.
If using a bone, remove it, shred any meat, and return meat to the pot. Discard bay leaf.
For a creamier texture, mash a cup of beans against the side of the crock and stir back in.
Taste and season with salt and more pepper. Stir in smoked paprika if using.
Serve warm with parsley and hot sauce; add crusty bread or cornbread on the side.